1. Field of the Invention
The present invention relates to a microprogrammed control apparatus for dot matrix serial printers and to a related printing method which produces a better printing quality.
2. Description of the Prior Art
Dot matrix serial printers are widely used in data processing systems and in communication systems. In such printers, a printing head provided with a plurality of needles or, more generally, of printing elements arranged in a vertical column moves transversely to a printing surface. The selective and timed actuation of the needles during the head movement allows the printing of alphanumeric characters by impression of pre-established dots of a matrix. Printing heads with 7 or 9 needles are generally used. They generate characters formed by dots arranged according to a matrix of 7 or 9 horizontal rows and 5 or 9 vertical columns. The appearance quality of the symbols so obtained is poor due to the limited number of printable dot positions, but the printing speed achieved by the printers is very high compared with their cost.
A biunivocal relation exists between the printing speed and the horizontal resolution of the printing matrix. That is, the number of columns of printable dots composing a character determines maximum printing speed because the printing elements, or needles, have a determined and pre-established actuation time. Typically, this time may range from 500 microseconds to 2 milliseconds. The actuation time of a printing needle is comprised of an energization phase and a return phase.
During the energization phase, an electromagnet coupled to the needle is energized and the needle is thrown against the printing surface. During the return phase, the needle, after having printed a dot on the printing surface, returns to a rest position. Typically, the duration of the two phases is equal or the energization phase is slightly shorter than the return phase.
A printing element cannot be energized again before the previous actuation time has elapsed. In order to obtain a character through the impression of dots arranged in a matrix of 5 columns, if the actuation time of an element is, for instance, 2 msec., the time required to print such a character is 10 msec. It is therefore possible to obtain a printing speed of 100 characters per second.
The translation speed of the printing head defines the character width, not the printing speed, and it is generally chosen so that the printed or printable dots are contiguous. For example, if the printed dots have a diameter of 0.26 mm (about 10 mils), the translation speed is chosen so that consecutive horizontal dots are arranged at a distance of about 0.26 mm center to center.
It is obvious that if a character with the same width of the previous one is to be printed through the impression of dots arranged according to a 10 column matrix, to obtain a character with a better horizontal resolution where consecutive dots printed on the same line partially overlap, it is enough to halve the translation speed of the printing head. The printing speed in characters per second is also obviously halved.
A higher horizontal resolution has not only the purpose of obtaining continuous horizontal lines resulting from the composition of contiguous dots which partially overlap, it also has the purpose of allowing the printing of oblique lines through the composition of dots belonging to different rows and columns but close enough to give the appearance of a contiguous line. The higher the horizontal resolution is, the higher is the number of diagonals with different slopes, which may be printed and which satisfy such condition. This is obviously obtained to the detriment of the printing speed.
On the contrary, it is desirable to obtain a better printing quality of the alphanumeric characters without substantially affecting the printing speed.
A first partial solution of this problem is given by the French Pat. No. 2,042,947. As the printing of a diagonal line requires the actuation of different printing elements, an element can be actuated before the actuation time of the other elements is elapsed. By such method, it is possible to define a printing matrix with double density as to the normal one where the column spacing corresponds to the actuation time of the printing elements. Printing operations are possible in the additional intermediate columns, too. The only constraint to be respected is that an element must not be actuated with a frequency greater than the one allowed by its actuation time. The higher printing matrix resolution obtained with this artifice does not involve any speed reduction.
A more general solution of this problem is suggested and described in U.S. Pat. No. 4,159,882. Briefly, keeping in mind that a printing element can be actuated independently from the other printing elements, the U.S. Pat. No. 4,159,882 discloses a control system for a matrix serial printer wherein the alphanumeric characters are represented by a matrix having a virtually infinite horizontal resolution, that is, an extremely high number of columns. This allows the printing of diagonal lines with any slope without a substantial reduction of the printing speed, but involves the use of expensive and complicated control circuits. To use this method, each printing element must be particularly provided with an autonomous control circuit which may be enabled in any time corresponding to any one of the character matrix columns, virtually infinite. Such control circuit, when enabled, generates an energization signal of predetermined duration for the corresponding element. In this case too, the condition must be respected that the same element not be energized at intervals shorter than its actuation time.
The above concept cannot be used in conventional matrix printers where the control system is much more simplified and comprises an actuation control unit common to all the printing elements. In such matrix printers, the control system includes a microprocessor, a first and a second timer, a printing element control register, and a character generator comprising a memory for storing binary codes which define the position of the printing dot within the printing matrix. The first time periodically activates the microprocessor at a pre-established interrupt period, which defines the printing matrix horizontal resolution which is the product of the translation speed of the printing head and the interrupt period. The microprocessor, when interrupted, loads the control register with a binary code read out from the character generator and is processed, if necessary. Meanwhile, the microprocessor activates the second timer which produces an energization signal of determined length. The binary code, or printing pattern, has a number of bits equal to the number of printing needles of the printing head, each bit being associated with a needle. Such binary code defines with the logical level of its bits which needles must be actuated. The logical level signal corresponding to each bit of the printing pattern is ANDed with the energization signal. The signals resulting from such logical AND operation are individually used for controlling the selective energization of the several printing elements. The duration of the energization signal corresponds to the printing element's energization time.
It is clear that in order to allow a correct energization of the printing elements, the interrupt period must be longer than the energization time even if the execution of printing operations corresponding to a subsequent printing pattern involves the energization of different elements and can therefore be simultaneous with the return phase of the already energized elements. The result is that the printing matrix horizontal resolution is limited to a level which does not allow the printing of good quality characters unless unacceptable reductions of the printing speed are introduced. Such limitation is overcome by the microprogrammed control apparatus and related printing method of the present invention.